def get_user_choice():
    """获取用户选择"""
    try:
        choice = input("\n请输入选择 (1-6): ").strip()
        return int(choice)
    except ValueError:
        print("❌ 请输入有效数字！")
        return -1

def get_item_input():
    """获取用户输入的项目信息"""
    print("\n🎯 添加新角色")
    print("-" * 20)
    
    name = input("请输入角色名称: ").strip()
    if not name:
        print("❌ 名称不能为空！")
        return None
    
    item_type = input("请输入角色职业: ").strip()
    if not item_type:
        print("❌ 职业不能为空！")
        return None
    
    level = input("请输入角色等级 (1-100): ").strip()
    if not level:
        print("❌ 等级不能为空！")
        return None
    
    try:
        level = int(level)
        if level < 1 or level > 100:
            print("❌ 等级必须在1-100之间！")
            return None
    except ValueError:
        print("❌ 等级必须是数字！")
        return None
    
    return {
        "name": name,
        "type": item_type,
        "level": level
    }

def get_delete_input(items):
    """获取要删除的项目ID"""
    if not items:
        print("❌ 没有可删除的项目！")
        return None
    
    print("\n🗑️ 删除角色")
    print("-" * 20)
    
    # 显示简化的项目列表
    for i, item in enumerate(items, 1):
        print(f"{i}. {item['name']} (ID: {item['id'][:6]}...)")
    
    choice = input("\n请输入要删除的角色编号或ID: ").strip()
    if not choice:
        print("❌ 输入不能为空！")
        return None
    
    # 检查是否是数字（按序号删除）
    if choice.isdigit():
        index = int(choice) - 1
        if 0 <= index < len(items):
            return items[index]["id"]
        else:
            print("❌ 无效的编号！")
            return None
    
    # 按ID删除
    return choice

def confirm_action(message="确认执行此操作？(y/n): "):
    """确认操作"""
    response = input(message).strip().lower()
    return response in ['y', 'yes', '是', '确认']